Peripheral control device and method for controlling peripheral device

ABSTRACT

The invention provides a peripheral control device for allowing the user to select preferentially a setting of a peripheral device through a wired port. A setup utility searches a port of a printer installed onto a computer to search a pertinent printer. If the pertinent printer is found during the above searching, the peripheral control device acquires MAC address information through that port. When as a result of the searching, the pertinent printer having the same MAC address is found through a different port, the peripheral control device presents a wired port of the above-mentioned pertinent printer as a candidate in a settable port list. When changing a setting of a wireless LAN printer, the utility communicates with the printer through each printer port installed at the time of activating the setup utility, not via wireless LAN.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a peripheral control device and amethod for controlling a peripheral device, and more specifically to amethod for selecting communication between a device and host equipmenteach of which has a plurality of communication interfaces and cancommunicate with each other through each communication interface.

2. Description of the Related Art

A device having a plurality of communication interfaces can communicatewith a host computer having a plurality of communication interfacessimilarly by using one of these communication interfaces. Eachcommunication path corresponding to each communication interface isestablished as a logical communication port between the OS and a device.For this reason, whether the printer device is physically a singledevice or not (a plurality of devices), a logical communication port iscreated for each communication interface alike, and the host computercan communicate with the device through any one of ports.

When any application on the host computer accesses the device,communication is conducted by specifying a logical communication port.In this case, the application detects a logical communication port thatmakes possible communication for a device having a pertinent function bya predetermined method. When a plurality of ports are detected, theapplication specifies an appropriate logical communication port bydisplaying these in such a way that a user can select it and receivingthe selection or the like.

For example, when a word processor application currently executed on thehost computer conducts printing, the application searches logicalcommunication ports of the printer being connected to the host computerby a predetermined method. Subsequently, the application presents asearch result to the user as, a list of logical communication ports.Then, the application receives the choice of the logical communicationport to realize printing on the printer that the user intends to use.

As an example, peripheral devices include wireless equipment compatiblewith the specification 802.11b standardized by IEEE, such as a wirelessLAN access point and a wireless router. Moreover, PCs (personalcomputers) that have self-contained wireless interfaces and PCs thatallow wireless interfaces to be installed thereon later as PCMCIA cardsare sold widely. With printers, one-to-one connection with a PC througha local interface, such as USB, has been so far common. However, thereis a glowing demand for a networking capability of supporting such aneed that a plurality of PCs can execute printing thereon even in home.

When conducting printing using a wireless LAN, the following must bedone: a wireless LAN setting is established in the printer so that theprinter can communicate with the access point; software enablingwireless LAN printing is installed onto the PC; and an appropriatesetting is made for the printer. Conventional installation of a printerdriver necessitates some degree of knowledge about a network in devicesetting for establishing network connection. Moreover, in wirelessinterface connection, knowledge about the wireless interface is neededas well. For this reason, there is a so-called utility application thatis executed by the host computer side in order to communicate with thesewireless/network devices and change wireless setting and network settingto support the user when using these devices. However, there is oftenthe case that this application presents all logical communication portsthrough which communication with the object device can be performed aschoices of a communication port for the setup. For example, in the casewhere a plurality of printers each equipped with both a USB interfaceand a wireless network interface are connected to the host computer andthe both interfaces of each printer are in operable modes, the setuputility application of this printer presents all logical communicationports each of which makes communication possible as choices ofcommunication port for the setup, and consequently logical communicationports for both USB and wireless interfaces will be displayed.

Therefore, it is difficult for the user to judge which two logicalcommunication ports belong to the identical printer, and also it isdifficult to judge which logical communication port can be used withoutaffecting communication due to a change of the setting.

In addition, even when the user sets up an operation of a wirelessinterface and changes a setting of a network using a utility applicationlike this, all logical communication ports each of which makescommunication possible are presented as choices of communication port tobe used for the setup. Accordingly, when the user changes the settingthrough the communication interface or network that the user intends tochange, there may be a case where the user will be not able to performcommunication as described above after the change depending on theselection of the port. After all, even if the user uses the utilityapplication, there may be a case where it becomes impossible to changethe setting or confirm a communication state continuously. The presentinvention discloses means for solving at least one of the abovedescribed problems.

SUMMARY OF THE INVENTION

The object of the present invention is to provide a peripheral controldevice and a method for controlling a peripheral device that, whensetting up a printer in which communication through a plurality oflogical communication ports is established, makes possible a setupoperation through a specific kind of port preferentially and henceeliminates a possibility that a setup operation becomes impossible tocheck.

According to a first aspect of the present invention, a peripheralcontrol device set forth by the present invention is a peripheralcontrol device of controlling a peripheral device in which communicationis established, comprising detecting means for detecting a logicalcommunication port connected to the peripheral device, and controllingmeans for, when a plurality of logical communication ports are detectedby the detecting means for the identical peripheral device, allowing acomputer to set up the peripheral device through a logical communicationport with the highest priority among priorities preassigned to theplurality of detected logical communication ports, thereby prohibitingto set up the peripheral device through any of the remaining logicalcommunication ports.

Here, the peripheral control device may further comprise displayingmeans for displaying a selection screen of logical communication portsused in selecting a predetermined kind of logical communication port,the selection screen being used for enabling a user to change a settingof the peripheral device side of the selected logical communicationport.

Moreover, the peripheral control device may further comprise acquisitionmeans for acquiring a MAC address of the peripheral device through eachof the logical communication ports detected by the detecting means, andthe controlling means may assume logical communication ports for whichthe same MAC address was acquired by the acquisition means as logicalcommunication ports of the identical peripheral device.

According to a second aspect of the present invention, a peripheralcontrol device set forth by the present invention is a peripheralcontrol device for controlling a peripheral device in whichcommunication through a first logical communication port and a secondlogical communication port is established, the peripheral control devicecomprising setting changing means for changing a setting of the secondlogical communication port through the first logical communication.

Here, the first logical communication port may be a USB interface, andthe second logical communication port may be a wireless interface.

According to a third aspect of the present invention, a method forcontrolling a peripheral device set forth by the present invention is amethod for controlling a peripheral device that is performed by acomputer connected to the peripheral device, wherein the method executesa step of detecting logical communication ports connected to theperipheral device, and a step of, when a plurality of logicalcommunication ports are detected, allowing the PC to set up theperipheral device through a logical communication port with the highestpriority among priorities preassigned to the plurality of the detectedlogical communication ports, thereby prohibiting to set up theperipheral device through any of the remaining logical communicationports.

According to the fourth aspect of the present invention, a method forcontrolling a peripheral device set forth by the present invention is amethod for controlling a peripheral device that is performed by acomputer in which communication with the peripheral device through afirst logical communication port and a second logical communication portis established, wherein a setting of the second logical communicationport is changed through the first logical communication port.

According to the fifth aspect of the present invention, acomputer-readable storage medium set forth by the present invention isone that stores a computer program for making a computer connected to aperipheral device execute a step of detecting logical communicationports connected to the peripheral device, and a step of, when aplurality of logical communication ports are detected for the identicalperipheral device at the detecting step, allowing the computer to set upthe peripheral device through a logical communication port with thehighest priority among priorities preassigned to the plurality of thedetected logical communication ports, thereby prohibiting to set up theperipheral device through any of the remaining logical communicationports.

According to the sixth aspect of the present invention, acomputer-readable storage medium set forth by the present invention isone that stores a computer program for making a computer in whichcommunication with a peripheral device through a first logicalcommunication port and a second logical communication port isestablished change a setting of the second logical communication portthrough the first logical communication port.

According to a seventh aspect of the present invention, a peripheralcontrol system set forth by the present invention is a peripheralcontrol system comprising: a host computer; and a peripheral deviceconnected to the host computer, the host computer comprising: detectingmeans for detecting a logical communication port connected to peripheraldevice; and controlling means for, when a plurality of logicalcommunication ports are detected for the identical peripheral device bythe detecting means, allowing the computer to set up the peripheraldevice through a logical communication port with the highest priorityamong priorities preassigned to the plurality of the detected logicalcommunication ports, thereby prohibiting to set up the peripheral devicethrough any of the remaining logical communication ports.

According to the present invention, in setting a peripheral device inwhich a plurality of settable logical communication ports exist in anetwork, a network setting application presents only one port as achoice to the user, and consequently the user will not be at a loss inselecting a port for setting.

Moreover, according to the present invention, in setting a peripheraldevice in which a plurality of settable logical communication portsexist in a network, if a local interface port except for network portsis detected, the network setting application presents it, andconsequently it becomes possible to perform a stable setup operation.

The above and other objects, effects, features and advantages of thepresent invention will become more apparent from the followingdescription of embodiments thereof taken in conjunction with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a view showing a screen displayed in a common installationprocedure of a printer driver using a USB port;

FIG. 2 is a flowchart showing a common installation procedure of aprinter driver using a USB port;

FIG. 3 is a view showing an example of a standard setting database in anOS;

FIG. 4 is a view showing an example of the screen of a list of printersin the OS;

FIG. 5 is a view showing an example of a hardware block according to oneembodiment of the present invention.

FIG. 6 is a view showing a schematic configuration of a printing systemaccording to one embodiment of the present invention;

FIG. 7 is a view showing a screen of the installation procedure of aprinter driver using a USB port;

FIG. 8 is a view showing a flowchart of the installation of a printerdriver using a USB port;

FIG. 9 is a view showing an example of the screen displayed in theinstallation procedure of a wireless network using a USB port;

FIG. 10 is a view showing an example of the screen displayed in theinstallation procedure of a wireless network using a USB port;

FIG. 11 is a view showing an example of the screen displayed in theinstallation procedure of a wireless network using a USB port;

FIG. 12 is a view showing an example of the screen displayed in theinstallation procedure of a wireless network using a USB port;

FIG. 13 is a view showing an example of a wireless network installcommand using a USB port;

FIG. 14 is a view showing an example of a command used in a wirelessnetwork;

FIG. 15 is a view showing an example of the screen displayed in theinstallation procedure of a wireless network in a PC using a USB port;

FIG. 16 is a flowchart showing an example of the installation procedureof a wireless network in a PC using a USB port;

FIG. 17 is a flowchart showing an example of the installation procedureof a wireless network in a PC using a USB port;

FIG. 18 is a view showing an example of a command used in a wirelessnetwork utility;

FIG. 19 is a view showing one example of a window that a network settingapplication in this embodiment displays;

FIG. 20 is a view showing one example of wireless LAN related items in adetailed setup window in the network setting application;

FIG. 21 is a view showing one example of management-password relateditems in the detailed setup window in the network setting application;

FIG. 22 is a view showing one example of access restriction relateditems in the detailed setup window in the network setting application;and

FIG. 23 is a flowchart showing one example of settable port selectionprocessing in the network setting application.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Hereafter embodiments of one invention according to the presentinvention will be described in detail referring to the drawings.Hereinafter, general installation of a printer driver will be describedwith reference to FIG. 3, and then action of a utility as an example ofthe present invention will be described.

In conducting printing after connecting the printer to the hostcomputer, software to control the printer is required. This software,after understanding a print command from the printing application on theoperating system of the host computer, transfers a printing controlcommand and printing data to the printer hardware in order to run aprinter hardware device. The software like this to control a printerdevice is called a printer (device) driver. All pieces of hardwareconnected to the host computer, which are typified by the printerdriver, are controlled by a mechanism of receiving a control instructionfrom the application through a device driver. The device driver is notexclusively for an upper application being activated on the operatingsystem. Therefore, it is residing as a kind of resident programoccupying a specific memory area while a device is being connected tothe host computer.

Each of the latest operating systems (hereinafter referred to as “OS”)which are typified by Windows® of Microsoft Corporation has a capabilityof installing automatically an appropriate device driver correspondingto a device when the device is connected to the host computer.Hereinafter, this capability is referred to as plug and play.

In the case of plug-and-play processing at the time of connecting adevice to the host computer for the first time, if there is no optimaldriver among device drivers that the OS possesses as standards, it isnecessary to install onto the OS a device driver in the form of acomputer-readable medium, such as a floppy disk and a CD-ROM, suppliedwith the device when purchasing the device. This work of installing theexclusive driver is called an “installation work of driver.”

General installation processing of a device driver onto the OS compliantwith Plug and Play will be described below. There can be enumerated USB(Universal Serial Bus) as a typical interface compliant with Plug andPlay. Here, the installation will be described taking that of a printerusing a USB as an example. FIG. 1 shows a message indicated on a displayof the host computer for the user, and FIG. 2 shows a sequence flow.Note that the sequence flows explained here or the messages etc.indicated are only those in the case where Plug and Play is performednormally. It goes without saying that there is an error sequence in acase of failure of Plug and Play separately. First, the user connectsthe printer to the host computer for the first time using a USB that isan interface compliant with Plug and Play. The OS operating on the hostcomputer detects that the device is connected to the host computerthrough a USB interface (Step S300). The OS displays a screen 2-1 andreads a device descriptor that is basic information of the USB devicefrom the printer by a predetermined method defined for the USB (StepS301). The device descriptor contains basic functional information ofthe device including device class information representing a devicetype. The OS reads and analyzes the descriptor, and thereby recognizesthat the device connected to the computer is a device belonging to aprinter class, i.e., a printer (Step S302).

Generally, the device driver of a printer, broadly speaking, consists oftwo drivers of different levels. The first one is a port driver, a lowerlevel driver, for controlling a protocol used in performing datacommunication with a printer on that communication interface for eachcommunication interface to which the pertinent device is connected. Thesecond one is an upper printer driver that resides on an upper layer ofthe port driver and converts actual print application data intorecording data and a printer language suited to an individual printer.The upper printer driver also acquires the operating state of theprinter, i.e., its status, and delivers it to a printer state indicationapplication.

Once the OS recognized the connected device as a USB printer classdevice, the OS loads an appropriate lower port driver using apredetermined method to put the printer in an operational mode.Furthermore, there is provided a port instance that is a logicalconnection to perform one-to-one data communication between the hostcomputer and a specific device detected on the communication interfaceby controlling the port driver. In the case of a USB printer, after itwas detected to be a printer class device by the descriptor and a USBport driver for printing was loaded, the OS creates a port instance thatis a logical communication channel though which communication betweenthe printer and the host computer is performed (Steps S303 and S304).Screen 2-4 is displayed at this time.

Once a lower port driver is loaded and the printer is set in anoperational mode after initialization processing, the OS acquiresdetailed information of the printer device connected to the hostcomputer by a predetermined method. In the case of a USB printer, thisis done by issuing a read command (GET_CAPABILITIES) for device ID thatis defined according to the USB printer class specification to theprinter device through the port driver. The device ID sent back inresponse thereto includes information peculiar to the printer model,such as information on the printer manufacturer (maker), a model name,information of supported printer languages, etc. (Step S305).

The OS acquires detailed information of the maker, the model name, etc.of the USB printer device connected, by analyzing the information of thedevice ID (Step S306). The OS searches an optimal upper printer driverbased on the information. If there is no pertinent upper driver in astandard search range of the OS, the OS requests the user to copy thepertinent upper driver to the OS by indicating a message asking to theuser about a storing folder etc. of the driver. In this case, the userspecifies a medium, such as a floppy disk and a CD-ROM, supplied withthe device when purchasing it, a device driver downloaded from a maker'sfile server through the Internet, or a file in which initializationinformation of the device driver is described according to predeterminedrules, whereby installation of the pertinent upper driver on the OS isconducted (Step S307).

At the time of installation of the upper driver, it is copied in apredetermined position (directory) on the host computer according to apredetermined procedure. Next, an item (entry) about the device whosedriver is being installed is added on a setting database that the OSpossesses as default (Step S308). This database stores such informationas setting parameter for controlling each device, device driverconfigurations, lower port drivers associated with the device instances,port instance information, setting information set up by the user, etc.In Windows® 2000 and Windows® XP, which are OSs made by MicrosoftCorporation, this standard setting database is generally called aregistry. In this explanation below, this is also called registry. FIG.3 shows an example of Window 4-1 in which the registry is shown in sucha way that the user can recognize it.

This entry is created for each device that communicates through a portinstance created by the OS detecting a device, i.e., for each logicaldevice with reference to an upper driver to be installed. That is, anentry is prepared for each logical connection between the OS and adevice, and corresponding port instance information is stored to effectassociation. For example, in the case where a printer equipped with aplurality of connection interfaces is connected to the OS throughrespective communication interfaces, port instances are created forrespective communication interface. Entries of the identical printer arecreated on the registry as different logical devices for respectivecommunication interfaces and for respective logical connections,although the upper printer interface to be used for these logicaldevices is common.

When preparation of driver activation is completed including copying ofdrivers and addition of entries to the registry as described above, theprinter is indicated according to information of the database as alogical device for each entry in a list of printers of an OS's userinterface and installation is completed (Step S309). Screen 2-6 isdisplayed at this time. In a printer list screen of the common OSequipped with a GUI, a port instance for a printer is indicated visuallyin the form of a printer icon. FIG. 4 shows one example of this. Thatis, when a plurality of port instances that pass through a plurality ofcommunication interfaces are created for a printer, printer icons forrespective output ports are indicated in predetermined Window 5-1.Information about the association between printer icons and ports isalso described in an entry of the registry created for theabove-mentioned each port. Therefore, information as to which ports arerepresented by respective printer icons visually is also managed.

In the foregoing, general Installation processing of a device driver inthe OS compliant with Plug and Play was explained taking a USB printeras an example. Needless to say that although there is a case where adriver is installed by a different method depending on the type of OS, aPlug and Play device is installed by a sequence roughly similar to theexplained procedure.

Note that in the case where the computer has logical communication portseach of which corresponds to a wireless interface or a wirelineinterface for a printer, it is desirable to use the logicalcommunication port of the wireline interface from a viewpoint ofcommunication reliability and certainty. However, if all printersdetected by the computer were shown as candidate printers usable forprinting, the user could not judge which logical communication portwould be an optimal choice. That is, when the user uses a wirelessperipheral device or a network device via the application, the user isoften confused in a decision as to which device should be used.

FIG. 5 is a view showing an example of a hardware block according to oneembodiment of the present invention. Here, a computer as one embodimentof information processing equipment according to the present inventionwill be described. FIG. 5 is a block diagram explaining theconfiguration of the printer control system. Note that unless otherwisespecified, naturally the present invention can be applied to any of thefollowing devices/systems: a single device; a system consisting of twoor more devices; and a system that is connected to devices through anetwork, such as LAN and WAN, and performs processing cooperatively, aslong as they execute functions of the present invention.

In the figure, a host computer 3000 is equipped with CPU 1 that performsprocessing of a document in which figures, images, characters, tablesincluding spreadsheet etc.) are mixed by means of a document processingprogram stored in programming ROM of ROM 3 or external memory 11 or thelike. The CPU 1 comprehensively controls devices connected to its systembus 4. The host computer 3000 corresponds to the note PC 1-1 of FIG. 6.

The programming ROM of this ROM 3 or the external memory 11 stores anoperating system program (hereinafter, OS) that is a control program ofthe CPU 1 and other data, the font ROM of the ROM 3 or the externalmemory 11 stores font data used in performing the above-mentioneddocument processing and other data, and the data ROM of the ROM 3 or theexternal memory 11 stores various data used in performing theabove-mentioned document processing. RAM 2 functions as main memory, awork area, etc. for the CPU 1. A keyboard controller (KBC) 5 controlskey inputs from the keyboard 9 or a pointing device not shown in thefigure. A CRT 6 controller (CRTC) controls display of a CRT display(CRT) 10. In the case when the host computer 3000 is a note PC, a liquidcrystal display is preferably used instead of the CRT because of lessweight. A disk controller (DKC) 7 controls accessing the external memory11, such as a hard is disk (HD)—for storing a boot program, variousapplications, font data, user files, editing files, printing controlcommand creation programs (hereinafter, printer drivers), etc.—and afloppy disk (FD). Here, HD stores a control program related to thewireless LAN setup utility, which the CPU 1 reads and stores in the RAM2, and executes it. Then the pertinent wirelesses LAN setup utilityexecutes several steps illustrated in FIG. 8, FIG. 12, FIG. 16, FIG. 17,FIG. 23, etc. It is recommendable that screens of FIG. 1, FIG. 3, FIG.4, FIG. 7, FIG. 9, FIG. 10, FIG. 11, FIG. 15, FIG. 19, FIG. 20, FIG. 21and FIG. 22 are displayed on the CRT 10, which is one example of thedisplay part that the host computer 3000 is equipped with, or a liquidcrystal display.

A printer controller (PRTC) 8 is connected to the printer 1500 through apredetermined bi-directional interface 21 and executes controlling ofcommunication with the printer 1500. Note that, in this embodiment,there are a plurality of interfaces though which the applicationcommunicates with the printer. They include, for example, a path 21through the USB interface and a path 22 through the wireless LANinterface. Each of the PTRC and an input part 15 consists of a pluralityof units for controlling their interfaces. Moreover, the CPU 1 performsthe process of converting outline fonts into a series of dots whoseinformation is stored in display information RAM being set up in the RAM2 (rasterization), thereby enabling WYSIWYG on the CRT 10. The printer1500 corresponds to the printer 1-2 of FIG. 6 that will be describedlater.

Furthermore, the CPU 1 opens various windows that are registered basedon commands indicated with a mouse cursor and the like on the CRT 10(not shown), and performs various data processing in line with user ssetting. When executing printing, the user opens windows for setting upthe printing, and is allowed to set up a manner of printing for theprinter driver, including setting of a printer and selection of aprinting mode.

In the printer 1500, a printer CPU 12 outputs an image signal as outputinformation to a printing part (printer engine) 17 connected to thesystem bus 15 based on a control program stored in the program ROM ofROM 13 etc. or a control program stored in external memory 14 etc.

Moreover, this program ROM of the ROM 13 stores a control program of theCPU 12 etc. The font ROM of the ROM 13 stores font data etc. to be usedin creating the above-mentioned output information, and the data ROM ofthe ROM 13 stores information to be used on the host computer etc. inthe case of a printer that does not have the external memory 14 such asa hard disk.

The CPU 12 is configured to be able to perform communication processingwith the host computer through an input part 18 and inform the hostcomputer 3000 of information inside the printer etc. Reference numeral19 is RAM that functions as main memory, a work area, etc. of the CPU12, and is configured to be able to expand memory capacity by optionalRAM connected to its expansion port (not shown). Incidentally, the RAM19 is used for an output information expansion area, an environmentaldata storing area, NVRAM, etc. Accessing the external memory 14described above, such as a hard disk (HD) and an IC card, is controlledby a memory controller (MC) 20.

The external memory 14 is connected as an option to store font data,emulation programs, form data, etc. Moreover, the operational panel 18described above is equipped with switches used for operation, LEDdisplay devices, etc. Furthermore, the above-mentioned external memoryis not limited to one piece, and at least two or more pieces of externalmemory may be provided. That is, the host computer 3000 may beconfigured to be able to connect itself with a plurality of optionalfont cards for providing additional fonts and external memory thatstores a program for interpreting a printer control language of adifferent language system, in addition to internal fonts. Furthermore,the host computer 3000 may be configured to have NVRAM not shown in thefigure and store printer mode setting information entered on theoperational panel 1501.

FIG. 6 shows a configuration of a printing system according to oneembodiment of the present invention. In the figure, the note PC 1-1 hasUSB as a wireline local interface and can be equipped with a wirelessLAN card 1-4 of the PCMCIA card type as a wireless interface. Theprinter 1-2 is also equipped with both a wireline local interface and awireless interface, as with the PC 1-1. The wireline local interface canmake connection with the PC 1-1 using USB cable 1-5. As a wirelessinterface, a wireless LAN card 1-4 of the PCMCIA card type can beattached to the printer. The access point 1-3 is responsible formediating wireless devices at an access point of a wireless interface.This can be equipped with a wireless LAN card 1-4 of a PCMCIA card typesimilarly.

The PC 1-1 functions as a host computer that controls printing on theprinter 1-2. The PC 1-1 can conduct printing on the printer 1-2 using awireline local interface USB between the PC 1-1 and the printer 1-2, andcan also transfer printing data to the printer 1-2 through an accesspoint 1-3 using a wireless LAN interface. Although only one PC is shownin this figure, a plurality of PCs can be connected to a single accesspoint, and the plurality of PCs share one printer to conduct printing aswell.

The wireless LAN has a mode in which the wireless LAN can connect with aplurality of wireless LAN devices through an access point, the modebeing called a infrastructure mode. In the infrastructure mode, the sameID as an ID (SSID) being set in an access point 1-3 is set up also inwireless LAN devices, whereby a plurality of the wireless LAN devices,each of which communicate through the access point 1-3, can constitute aLAN.

When using a printer 1-2 as a wireless LAN device, it is necessary toset up the printer 1-2 so that it can connect with the access point 1-3.In this embodiment, suppose a setting between the PC 1-1 and the accesspoint 1-3 has already been done, and the PC 1-1 is in a state of beingable to communicate with the access point 1-3. Further, suppose theprinter 1-2 has not been set up for a wireless LAN, and the printer isin the infrastructure mode as an initial state and its ID has not beenset up. As for printer not equipped with wireless LAN, generallyprinters that are connected to PCs to conduct printing are in the mainstream. The printer 1-2 also has a USB port and can conduct printing aswith normal printers.

In a method for controlling printing according to the present invention,the PC 1-1 is connected to a wirelesses LAN printer via USB, and the PCactivates a wireless LAN setup utility (computer program). The setuputility searches a printer (the pertinent printer) in whichcommunication with the PC 1-1 is established by scanning a portinstalled in the host. When the PC found the pertinent printer 1-2during the above-mentioned search, the PC acquires MAC addressinformation through the port. Then, if the PC detected the pertinentprinter 1-2 having the same MAC address through different ports, the PCenumerates the wireline port of the above-mentioned pertinent printer inthe list of settable ports.

That is, when at least one wireless port and at least one wireline portfor the same printer 1-2 exist, the PC prioritizes a setup operationthrough a USB port (wireline I/F), and presents it to the user as asettable port for the pertinent printer 1-2. Alternatively, the PCperforms a setup operation automatically through the USB port.

In the following, installation of a printer driver using a USB andinstallation of a wireless LAN using a USB will be described in thisembodiment.

FIG. 7 shows screen display that is shown on the screen of the PC,giving directions to the user in a procedure of installing software(printer driver) for enabling the application to operate a printingdevice on the PC 1-1 of FIG. 6. FIG. 7 shows a procedure of installationthrough the USB interface that is a common practice now. First, Screen6-1 to start printer driver installation is displayed. This installationis started by the user activating software for installation. On Screen6-1, there are displayed an “Execute” button 6-2 and a “Cancel” button6-3 as selection icons used to select either execution or suspension.The user can select either icon with a mouse etc. Selection of the“Execute” button 6-2 starts the installation, and Screen 6-4 isdisplayed. The contents to be executed will be described referring tothe flowchart of FIG. 8. If the “Cancel” button 6-3 is selected, thesoftware ends without installing the printer driver.

On Screen 6-4, a message is displayed to prompt the user to connect aUSB cable to the USB interface, and the user is expected to connect aUSB cable to the USB interface of the printer according to thedirection. If the printer is not powered, the user turns on the printer.Even on Screen 6-4, the user can suspend installation by clicking a“Cancel” button 6-5. When the printer is turned on after connection ofUSB cable, installation of the printer driver and internal setting ofthe printer is completed by Plug and Play. Installation of the printerdriver by Plug and Play is performed by the procedure described above.

If the installation is successful, Screen 6-6 is displayed to completethe installation. Software is ended by selecting an “OK” button 6-7.When the installation of the printer driver is unsuccessful for anyreason, Screen 6-8 is displayed to inform the user of failure of theinstallation. As with Screen 6-6, the user can end the installation withan “OK” button 6-9.

As described in the foregoing, by allowing the user to operate onscreens, i.e., Screen 6-1→Screen 6-4→Screen 6-6, the installation of theprinter driver using the USB interface is completed and printing via USBbecomes possible. The installation of the printer driver using the USBport can be easily performed only by activating software and connectingcable.

FIG. 8 is a flowchart for illustrating in detail the contents explainedreferring to Screen 6-1 of FIG. 7. First, a screen corresponding toScreen 6-1 of FIG. 7 is displayed (Step S700). When execution isselected on Screen 6-1, the flow proceeds to Step S701, at which aprinter driver execution file is copied to the system. Generally, alocation in the system where the printer driver execution file and aninformation file are allocated has been determined depending on an OS.The utility copies the printer driver execution file in advanceaccording to this rule. As described above, the OS searches a properdriver in a predetermined storage location of information files ofdrivers, and registers and sets up the driver so that the OS can use thedriver. In this process, files related to the printer driver are copiedinto a specified location so that these registration and setting areperformed properly.

Next, Screen 6-4 of FIG. 7 is displayed (Step S702). After displayingthis screen, the system confirms that connection through USB cable isdone and the printer is turned on properly within a fixed time, andchecks whether a fixed time has elapsed (Step S703). If it is nottime-out, the flow proceeds to Step S704, at which the system checkswhether detection of printers is completed. This is to confirm whetherthe printer is found properly. Description of the details was given atthe installation procedure of printer driver described above. Whentime-out occurred at Step S703, Screen 6-8 indicating a failure of theinstallation is displayed (Step S707). When recognition of the printerby Plug and Play is completed at Step S704, the flow proceeds to StepS705, at which the system sets up the printer information (Step S705).Next, Screen 6-6 indicating that the installation finished normally isdisplayed (Step S706). The installation of the printer driver using theUSB is completed now. This is to perform the installation of the printerdriver via USB by the conventional method.

FIG. 9 and FIG. 10 show a screen display for the case where installingthe wireless LAN is installed following the completion of printer driverinstallation explained in FIGS. 7 and 8. In the case of installationonly via USB, Screen 6-6 of FIG. 7 indicates the completion; in the caseof FIG. 9, Screen 8-1 is displayed instead of Screen 6-6. That is, inthe case of a printer having only a USB port, the procedure is completedon Screen 6-6 of FIG. 7; in the case of a printer having both USB andwireless LAN, Screen 8-1 is displayed instead of Screen 6-6. If the userselects an “OK” button 8-2 on Screen 8-1, the installation is completedhere and wireless LAN will not be installed.

When the user selects a “Network install” button 8-3 on Screen 8-1,Screen 8-1 is switched to Network Install Screen 8-4. First, thisprocess starts from an operation of selecting an access point in orderto connect with it. In order to display a list of access points that arefound in printers, a command for searching access points is sent via USBusing a wireless LAN card attached to the printer, and information ofaccess points obtained thereby is acquired via USB. Screen 8-4 shows astate where the list of access points is displayed.

First, a list box 8-5 is a portion showing the list of access pointsfound from the printer. This example shows that three access points A,B, and C are found from the printer. Since the list shows all accesspoints working in a range that a radio wave can covers, access pointshown there are not necessarily limited to access points that the useris using. In order to allow the user to select a desired access pointamong a plurality of access points, the user can move a high-lighted rowin the list box 8-5, and thereby can select each access point.

If the selected access point is encrypted, the user can enter anencryption key for decrypting the encryption into the input area 8-5;therefore, the utility can support encrypted access points. Generally,encryption technology is adopted in wireless LANs in order to preventtapping and leakage of data. One of typical technologies is WEP (WiredEquivalent Privacy). This is a symmetrical algorithm in whichinformation called a key for encryption is used for encryption anddecryption similarly. Setting of this key realizes concealment of datafrom other devices. In the case where a wireless LAN is being used in anencrypted environment, it is necessary to set up the same encryption keyalso on the printer. Selection of a “Return” button 8-7 on Screen 8-4can put back the user to the previous screen 8-1. By selecting a “Next”button 8-8, the user can proceed to the next with specifying the accesspoint selected in the list box 8-5. The user can suspend installation byclicking “Cancel” button 8-9. Since the user can select and specify theaccess point that the user is using currently on Screen 8-4, erroneousconnection to other access point can be prevented.

Next, once the user specified connection of the printer through theaccess point specified on Screen 8-4, a wireless LAN access point of theprinter is set up and the printer becomes recognizable from the accesspoint. In order to check whether the printer is connected properly, theprinter is searched via wireless LAN. The details will be describedreferring to the flowchart of FIG. 12.

Screen 8-10 is a screen displaying a list of printers found through theaccess point. The listing of printers is prepared by receiving answersfrom printers that received a printer search command sent from wirelessLAN of the PC through the access point. The search command is broadcastto all devices on the network by broadcasting, and every device thatreceived the search command and can understand this command (in thiscase, a specific printer and printer adapter) returns predeterminedinformation in response to the command to the host having sent thecommand. This information includes name, ID, address, etc. of theprinter. The host can specify a printer that the host intends to connectwith based on these pieces of information. A list of the printers foundis displayed in the list box 8-11 on Screen 8-10. In this example, threeprinters, i.e., printer 1, 2, and 3 are found. As with the selection ofan access point, the user can select a printer that is highlighted.Selection of a “Return” button 8-12 on Screen 8-10 leads the user to theprevious screen 8-14; selection of a “Next” button 8-13 allows the userto determine a printer selected in the list box 8-11 as a targetconnected printer. Selection of a “Cancel” button 8-14 allows the userto suspend the installation. When the “Next” button 8-13 is selected onScreen 8-10, a screen 8-15 in FIG. 10 on which a port name is entered isdisplayed, and the user can enter a port name that the user intends toenter into an input area 8-16.

The port name is used to capacitate a single PC to distinguish aplurality of printers having the same function (e.g., wireless LAN). Inthis case, WLAN01 is set up as an initial value. WLAN is an identifierto indicate a printer of a wireless LAN, and 01 represents a last numberregistered in the system. In order to handle a plurality of printershaving the same function distinctively, the printers are given numbersin order. Generally, the printer driver uses this port name to designatea printer to be used for printing by specifying it. Selection of a“Return” button 8-17 on Screen 8-15 takes the user to the previousScreen 8-10. Selection of a “Next” button 8-18 allows the user to fix aport name entered into the input area 8-16. The user can suspend theinstallation with a “Cancel” button 8-19.

Selection of the “Next” button 8-18 on Screen 8-15 leads to display ofScreen 8-20 of FIG. 10, indicating that network installation iscompleted. This screen has two choices. The user can select either anoption button 8-21 for the case where only a printer icon of thewireless LAN is created or an option button 8-22 for the case where twoicons of the wireless LAN and the USB port are created. Selection of theoption button can be changed with a mouse etc. In the figure, an itemdenoted by a symbol • is an item presently selected. Selection of an“OK” button 8-23 leads to creation of a printer icon according toselected option, either of the option buttons 8-21 or 8-22. The printericon is used to allow the user to confirm or distinguish printerscurrently registered or to identify printers that can made readycurrently. In printing in the application, the user is expected toselect this icon.

FIG. 11 shows a change on a screen in the case where only one accesspoint is found in installing a network described as to FIG. 9, only oneprinter is found, and an input screen of the port name being omitted. Inthis case, processing concerning Screens 8-4 and 8-10 of FIG. 9 andScreen 8-15 of FIG. 10 are omitted, and only Screen 9-1 corresponding toScreen 8-1 and Screen 9-4 corresponding to Screen 8-20 are displayed.Since except for processing of display of Screens 8-4, 8-10, and 8-15operations are the same as described above, explanation of each itemdisplayed in FIG. 11 is omitted. Since part of processing whose displayis omitted is the same operation as described above, its explanation isomitted. That is, in the case where only one printer exists at oneaccess point and the port name maybe created automatically, the user cancomplete the installation of a wireless network only by executing twodirections: the “Network install” button 9-3 that is a selection icon onScreen 9-1 of FIG. 11, and the “OK” button 9-7 on Screen 9-4, thecompletion screen. The details will be described referring to theflowchart of FIG. 12.

FIG. 12 is the flowchart illustrating in detail the processing pertinentto display of screens shown in FIGS. 9 and 10. The PC searches accesspoints and takes in information of found access points via USB (StepS1000). To search access points, the PC transmits an access point searchcommand to printers via USB. For commands sent via USB for wireless LANinstallation, the three commands shown in FIG. 13 are prepared. Bysending the access point search command among the commands to theprinter, the printer uses a wireless LAN module to establish a settingfor access point search on the wireless LAN module. The wireless LANmodule on which the setting for the access point search is set uptransmits a signal of access point search. Any access point thatreceived this signal sends back information on its own access point (ID,radio wave conditions, address, channel, etc.) to the sending party. Thewireless LAN module receives the information sent back from the accesspoint, and the printer transfers the received information to the PC. Atthis time, the printer sends back information on all the access pointsthat have been found to the PC.

Next, the PC checks how many access points are found from theinformation sent back from the printer at Step S1001. When a pluralityof access points is found, the flow proceeds to Step S1002, at whichScreen 8-4 of the list of access points is displayed, and the user isrequested to select an access point. When only one access point isfound, the flow proceeds to Step S1003, skipping Step S1002. Next, anaccess point is set up at Step S1003. This is done by sending aninformation setting command, shown in FIG. 13, based on the informationof the access points found at Step S1000 via USB. The informationsetting command is used to set up necessary information to use an accesspoint, such as address of the access point and an encryption key, whichmakes it possible to connect the printer to a specific access point.

Next, at Step S1004 the PC searches printers using a command of thenetwork. This is shown in FIG. 14; two commands are prepared as commandsfor network installation. They are both search commands one is a printersearch command (broadcasting) that does not specify a printer; and theother is a printer search command (addressing) that specifies a specificprinter. Here, the broadcasting type search command is transmitted. Thisis sent onto the wireless LAN, and the printer received this commandfrom the wireless LAN sends back information of the printer (ID, name,address, model name, etc.) to the PC that transmitted the command. Sincethis command is transmitted by broadcasting, there is the possibilitythat all printers that can understand this command may reply to thiscommand. Based on the information sent back from the printer, it isnecessary for the PC to select a model that the PC intends to install.

For this purpose, the PC checks whether the number of printers is onefrom the information sent back from the printers (Step S1005). When aplurality of printers are found, the flow proceeds to Step S1006, atwhich Screen 8-10 containing the list of printers is displayed, to makethe user select a printer. If the found printer is one, the flowproceeds to Step S1007, skipping Step S1006. The PC checks whether it isnecessary to display the port name at Step S1007. If necessary, the flowproceeds to Step S1007, at which the PC displays Input Screen 8-15 ofthe port name to make the user enter it. If input of a port name isunnecessary, the flow proceeds to Step S1009, skipping Step S1008.Whether the user is requested to enter a port name can be determined, ifdesired, based on whether installation software may be constructedaccording to the determination or not. In the case where theinstallation is realized with simpler and fewer screens, the user canselect an option to omit the entering. At Step S1009, networkinformation is set up, so that the wireless LAN becomes available. Thenetwork information indicates information needed for printing, such asaddress and name of the printer. Next, a network installation completionscreen is displayed (Step S1010). A method for creating an icon will bedescribed later.

FIG. 13 shows commands for installation to be sent to the printer viaUSB. In this embodiment, three commands are prepared. In addition tothese commands, there is a command to send printing data, a command toset several kinds of printers, etc. However, only install commandsdirectly related to this embodiment are enumerated. The first one is acommand to search access points, which was explained at Step S1000 ofFIG. 12. The second one is an information acquisition command foracquiring information about the wireless LAN being set up on the printertherefrom. The third one is an information setting command for settingup information about the wireless LAN to be set up on the printer, forexample, address, mode, channel, etc. of an access point. This is thecommand used at Step S1003 of FIG. 12 to specify an access point.

FIG. 14 shows commands, among network commands, used for installation.They are sent to the printer via wireless LAN. Two commands areprepared. In addition to these commands, there is a command to setseveral kinds of printers etc. However, only install commands directlyrelated to this embodiment are enumerated. Both of the two commands arecommands for printer search; there are prepared one that all printersreceive (broadcasting) and one that a specific printer receives(addressing). By using these commands, the user can judge whether aprinter or printers existing on the network are found and set upproperly. These commands are transferred and replied to using a protocolcommon on the network, such as TCP/IP and UDP.

After performing printer driver installation onto the PC, which wasexplained up to FIG. 14, and completing a wireless LAN setting of theprinter, a printer driver is installed onto another PC (in which neitherthe printer driver nor network is installed). FIG. 15 shows aninstallation screen for this. Since the setup of the wireless LAN at theprinter side is completed, the wireless LAN will be set up only at thePC side. Since installation of the printer driver is the same as wasexplained in FIGS. 7 and 8, its explanation is omitted. When Screen 13-1after the completion of printer driver installation is displayed and thenetwork installation is being performed, the user selects a “Networkinstall” button 13-3. After the selection, Network InstallationCompletion Screen 13-4 or Network Installation Failure Screen 13-7 isdisplayed. Since the contents of Screen 13-4 are the same as those ofScreen 9-4, its explanation is omitted. Network installation failurescreen 13-7 is displayed when the connected printer could not be foundby the wireless LAN for any reason.

FIGS. 16 and 17 show a detailed flowchart for the case where the networkinstallation explained in FIG. 15 is performed on the second andsubsequent PCs. First, the setting information on the printer isacquired at Step S1400 of FIG. 16. This is done by sending theinformation acquisition command shown in FIG. 13 to the printer via USB,and the printer send backs information being set up to the PC via USB.The information being set in the printer includes information about thewireless LAN, which contains information as to whether the access pointis set up. The setting of the access point is one that is set up afterinstallation of the printer driver onto the first PC, namely, at StepS1003 of FIG. 12. If the access point is already set up, it is notnecessary to set up an access point anew and information that is alreadyset up can be used. At Step S1401, whether an access point is alreadyset up is checked with information from the printer. The case where theaccess point is not set up means the case where this PC is the first PC.In this case, it is necessary to start with access point setup; it isnecessary to execute processing shown in FIGS. 9, 10, and 11. Both anaccess point setup operation of the printer and a network setupoperation on the PC side are performed at Steps S1402-S1412. Since theyare the same as those in Steps S1000-S1010 of FIG. 12, their explanationis omitted.

If it is judged that the access point is already set up at Step S1401,the flow proceeds to Step S1413 of FIG. 17, at which searching of aspecific printer is conducted. The information obtained from the printerat Step S1400 includes an address and an ID of the printer that isalready set up. Based on this information, the PC sends a printer searchcommand (addressing) shown in FIG. 14 onto the wireless LAN. A settingbetween this second PC and the access point is assumed to be completed,and consequently the PC can issue a command onto the wireless LAN. Sincethis command is a search command for specifying an address, it arrivesonly at the printer that is currently being installed by connection viaUSB. Any printer at which this command arrived sends back theinformation of the printer to the PC having sent the command viawireless LAN. The PC side checks arrival of an answer from the printerand rightness of the arrived information (Step S1414). If theinformation from the printer is sent back from the printer via wirelessLAN and the information agrees with information obtained via USB aftercomparison, it can be confirmed that a desired printer is foundproperly. In the case where no information from the printer is sent backfor any reason or in the case where the two pieces of information do notagree with each other, the flow proceeds to Step S1419, at which thenetwork installation failure screen is displayed. If the printer isfound properly at Step S1414, the flow proceeds to Step S1415. SinceSteps S1415-S1418 are the same processing as those of Steps S1409-S1412,their explanation is omitted. By processing at these steps, wireless LANinstallation onto the second PC is completed, allowing the PC to conductprinting on the wireless LAN. The flowchart shown in FIGS. 16 and 17 isconstructed so that the wireless LAN and the printer can be also set upin the second and subsequent PCs in addition to the setup of thewireless LAN and the printer in the first PC.

According to the procedure described above, it becomes possible toperform a setup operation whereby the PC uses a printer having twocommunication interfaces, USB and wireless LAN. By establishingcommunication between the PC and the printer through the USB interface,it becomes possible to perform a setup operation so that the user canuse the printer via wireless LAN. Consequently, this creates two portsas paths therethrough the PC communicate with the pertinent printer: aport instance of USB, and a port instance of the wireless LAN.

<Network Setup Application>

In this embodiment, a wireless network setup utility application(wireless LAN setting utility) is installed onto the PC in the course ofwireless LAN installation of the printer.

This application is a computer program that the user activates after theinstallation. By this application, the user can change the setting ofthe wireless LAN and the network for the pertinent wireless LAN printerthat is already installed. The setting change is done by the PC sendingthe contents of the setting specified by the application to the printerby communication through the port instance of the printer that is set upat the time of installation. FIG. 18 shows the command to be sent to theprinter to set up a network, and six commands are prepared in thisembodiment.

FIG. 19 shows a window when this application is activated. As shown inthe figure, the initial window displays a list of ports to whichsettable printers are connected. After selecting a printer that is to beset up, the user can call a screen of setting the selected printer bypressing a “Detailed setup” button 16-2

FIGS. 20 though 22 show a detailed setup window.

The detailed setup screen is organized into large entries using tabs.The user can move among the tabs by clicking a title part of the tab andmake a change in the setting for each item.

In each tab, one of these items and the contents of its detailed setupare displayed. In this content, settable items that correspond to thenetwork configuration of the printer are displayed.

When a “Detailed setup” button 16-2 of FIG. 19 is pressed, theapplication issues a command to a network control part of the saidprinter through the selected port according to a predeterminedcommunication procedure, and thereby acquires and sets up several kindsof information.

At the time of displaying the detailed setup, the application issuesfirst a settable value acquisition command and acquires information on anetwork configuration, settable items, and the settable values of thenetwork control part of the printer with which the application iscommunicating. Thereby, the application judges tabs (large item) to bedisplayed and items to be defined settable in each tab.

Next, the application issues a current value acquisition command to theprinter, inquiring what is a current setting value for each settableitem. A network controller having received the command answers thecurrent setting value.

In the case of the printer of this embodiment, the following settableitems are displayed on the detailed setup screen.

Wireless LAN Related Items

Selection of service condition (used/unused) of wireless LAN

Operation mode of wireless LAN (infrastructure/ad hoc)

Acquisition method (automated/manual) of IP address

IP address

Subnet mask

Default gateway

Management Password

Selection of usage state (used/unused) of management password

Management password input

Access Restriction (Filtering)

Selection of usage state (used/unused) of access restriction

MAC address on which access restriction is imposed

The above wireless LAN related items, management password, and accessrestriction are specified as large items. They serve as tub headings,being displayed as Windows 17-1, 18-1, and 19-1 shown in FIGS. 20, 21,and 22, respectively.

According to each setting item, a set of radio buttons for selecting achoice in the setting or an edit box into which a value can be directlyentered is prepared. The current values that are set up in the printerare reflected in choices of each item and the edit box for display.

For an item that the user intends to change, the user selects a choiceor enters a change value and subsequently press the “OK” button and thusa setting change is reflected in the printer.

When “OK” is pressed, the application compares a current value acquiredfrom the printer with the contents of the setting as a result of asetting change made by the user. Then the printer sends differencebetween these values, namely the contents of the setting that arechanged, to the printer by issuing thereto a setting value writecommand, thus completing the change in the contents of the setting tothe network control part of the printer.

Next, a method for displaying settable printers on the initial window ofthe application according to the present invention will be described.

On the initial window, there are listed such communicable ports each ofwhich is connected to a settable printer using this utility and isactive at the time of activating the application, that is, makingcommunication possible. A judgment of whether a settable printer isconnected is made by actually communicating with the pertinent port. Theapplication issues a DeviceID acquisition command for inquiring aDeviceID in which device information of the printer is described fromthe PC. The PC designates port instances to which printers satisfyingthe following conditions are connected as initial candidates.

Responsive to the Command

Tagged with an ID indicating that the printer is capable ofcommunicating with the PC by the network setting command used in thisapplication as a result of analyzing the acquired DeviceID information

The application makes the above-mentioned judgment to all port instancesfor printers installed onto the PC. If a plurality of the pertinentprinters are connected to the PC, they are detected.

In order to set up the wireless LAN, any printer according to thisembodiment is connected to the host computer via USB, and thereby a USBport instance is created. At the same time, a port instance of thewireless LAN is is created as a result of the setup operation naturally.In the case where this printer is connected to the PC through both theUSB port and the wireless LAN, these two port instances become activeand are responsive to the above-mentioned DeviceID acquisition command.Therefore, both of the USB port instance and the wireless LAN portinstance become candidates for the list.

Next, processing in the case where the detected port instances belong tothe identical printer having a plurality of communication interfaceswill be described.

In the case where all port instances each capable of performingcommunication for setting are enumerated, it is difficult for the userto distinguish which ports belong to the identical printer for which aplurality of port instances exist. Moreover, even when the user candistinguish ports of the identical printer, it is difficult for the userto judge which port instance can be used without affecting communicationdue to a change of the setting.

For example, in changing the setting of a wireless interface, there isthe possibility that when a change is made through the wirelessinterface to be set up to change, the user will be unable to communicatetherethrough depending on the contents of the change. In such a case,the user becomes unable to make a successive setting change andconfirmation of the communication state; therefore, it is necessary toeliminate such a negative effect. On the other hand, if a change likethis is made through a communication interface different from thecommunication interface whose setting the user intends to change, acommunication path in use is not affected and consequently communicationinterruption resulting from a change does not occur.

This application has means for specifying a plurality of port instancefor the identical printer and selecting a port instance suitable tosetup communication among port instances of the identical printer.

When judging whether a settable printer is connected, the applicationissues the DeviceID acquisition command to the printer port detected bythe OS. If the application judged that the printer port could becommunicated by a network setting command that the application support(being an active port), the application issues a network interface card(NIC) information acquisition command based on the network settingcommand to that port.

This command is a command for inquiring of basic network information ofthe pertinent NIC. As its response, the application can acquire: thetype of a network interface that the NIC is equipped with, a MAC addressthat is an inherent physical address given to each communicationinterface, and current IP address information. The use of this commandenables the application to correlate the pertinent port and MAC addressinformation of the connected printer NIC. In addition, since the MACaddress is a non-redundant and unique number given to a device by adevice manufacturer for management purposes and as a result the world'sonly unique address is assigned to the device, the use of this MACaddress makes it possible to specify a printer uniquely.

As described above, the application issues an (NIC) informationacquisition command for a detected port instance that makescommunication possible by the network setting command. Thereby, theapplication acquires information of the network MAC addresses of theprinters that the application can communicate with through respectiveports. Then, as a result of acquiring MAC address information similarlyfor a plurality of ports, there is a case where the same MAC addressinformation is acquired in spite of communication to different ports.This is exactly that the port is a different logical communication portfor the identical printer.

Here, when a plurality of logical communication ports each of whichmakes possible communication for network setup are found on theidentical printer, and if all targeted logical communication ports arepresented, the user is at a loss about which port the user shouldselect. It will be sufficient to present the user one of the ports as achoice. Moreover, if a logical communication port is presented alongwith logical communication ports of other printers in the same line, itbecomes hard for the user to understand which logical communicationports belong to the identical printer, and causes confusion.

Then, when the application detects a plurality of logical communicationports for the identical printer, it presents only one typical port amongthe ports in the list of settable ports of the application.

FIG. 23 shows a flow covering from the port detection, includingdetection of ports for the identical device, to the preparation of alist of settable ports.

The printer installed in this embodiment has a USB port and a wirelessLAN port. In this printer, the network setting can be done througheither of the above communication interfaces, that is, through eitherthe USB logical communication port or the wireless network port.

Here, in changing the setting of a wireless LAN or changing the settingof a network, there is a case where, when the change is performedthrough the communication interface or network whose setting the userintends to change, the user will be unable to communicate therethroughdepending on the contents of the change. In this case, the user will beunable to perform consecutive setting change and confirm a communicationstate. For example, in the host PC and this printer that communicatewith each other via wireless LAN with WEP, which is currently one ofencrypting methods of wireless LANs, being set invalid, suppose the WEPof the printer side is set valid by setting through the wireless logicalcommunication port. In this case, since wireless LAN communication willbe interrupted unless a wireless LAN setting of the host PC side ischanged similarly thereafter, subsequent setup operation cannot becontinued.

On the other hand, if the above-mentioned setting change is done throughan interface (e.g., USB in this embodiment) different from thecommunication interface whose setting is intended to be changed, acommunication path in use is not be affected and consequentlycommunication interruption of USB resulting from a change does not occureven after WEP encryption was set up. Therefore, it becomes possible tocontinuously perform the setup operation via USB.

After the utility is activated, it judges whether there is an undetectedport at Step S2001. If there is no undetected port, the flow proceeds toStep S2005, at which the utility judges whether there are ports of thesame MAC address. If there are ports of the same MAC address, theutility selects a wireline port of the printer at Step S2006. If thereis no ports of the same MAC address, the flow skips processing at StepS2006. Subsequently, the utility creates a list of the pertinent printerports (settable ports) at Step S2007. At this time, any wireless portswill be eliminated from the list.

If there is an undetected port at Step S2001, the flow proceeds to StepS2002, at which the utility detects the next port and judges whether itis the pertinent printer port at Step S2003. Then, if it is thepertinent printer port, its MAC address is acquired at Step S2004. Inthe network setting application of this embodiment, when a plurality oflogical communication ports for the identical printer are detected, onlyone typical port is presented as a settable port. In this particularcase, if there exists a logical communication port of a local interface,such as USB and centronics, the utility gives it precedence over logicalcommunication ports of the network interface.

Thereby, in setting the printer in the network in which a plurality oflogical communication ports exist, it becomes possible to select a portthrough which a stable setup operation can be performed without being ata loss in selecting a port for the setup.

This embodiment takes up a printer equipped with the wireless LAN portand the USB port that is a local port. In the case of a printer equippedwith a wireless LAN port and a wireline LAN port, it is obvious thatwhen a wireless LAN is being set up, if the setting is changed through awireline LAN port, the setting change does not affect the printeroperation similarly. Thus, the present invention can achieve a similareffect by performing a similar control even between a wireline LANinterface and a wireless LAN interface as well as between a localinterface port and the latter.

In the foregoing, the embodiments of the present invention weredescribed. The present invention may be applied to control of variousperipherals, such as copiers, facsimiles, digital cameras, modems, andMIDI apparatuses, in addition to printers.

In addition, the object of the present invention is attained by acomputer of a system or equipment (or CPU or MPU) reading and executinga stored program code for realizing a procedure of the flowchartillustrated in the figures to achieve functions of the embodiment.

In this case, since the program code itself read from the storage mediumwill realize a function of the above-mentioned embodiment, the storagemedium storing the program code will compose the present invention.

As storage media for supplying the program code, for example, a floppydisk, a hard disk, an optical disk, a magneto-optical disk, CD-ROM,CD-R, magnetic tape, a nonvolatile memory card, ROM, etc. can be used.

Moreover, the present invention includes not only a case where theabove-mentioned function of the embodiment is realized by executing theprogram code read from the computer, but also a case where the OS(operating system) running on the computer or the like executes a partor the whole of actual processing based on directions of the programcode and the above-mentioned function of the embodiment is realized bythe processing.

Furthermore, the present invention includes a case where a program coderead from a storage medium is written in a function expansion boardinserted in a computer or in memory provided in a functional expansionunit connected the computer, subsequently a CPU or the like provided inthe functional expansion board or the functional expansion unit executesa part or the whole of actual processing based on directions of theprogram code, and the function of the above-mentioned embodiment isrealized by the processing.

The present invention has been described in detail with respect topreferred embodiments, and it will now be apparent from the foregoing tothose skilled in the art that changes and modifications may be madewithout departing from the invention in its broader aspect, and it isthe intention, therefore, in the apparent claims to cover all suchchanges and modifications as fall within the true spirit of theinvention.

This application claims priority from Japanese Patent Application Nos.2003-328718 filed Sep. 19, 2003 and 2004-257662 filed Sep. 3, 2004,which are hereby incorporated by reference herein.

1.-10. (canceled)
 11. A setting apparatus comprising: acomputer-readable memory configured to store computer-executable processsteps; and a processor configured to execute the computer-executableprocess steps stored in the memory, wherein the process steps stored inthe memory cause the processor to create a list of printer ports fordisplay, and include computer-executable process steps to: judge whethera plurality of logical communication ports exists for a printer; excludea network interface port of the printer before displaying the list ofprinter ports so as to select a local interface port of the printer ifit is judged that the plurality of logical communication ports existsfor the printer; and create the list of printer ports with the selectedlocal interface port if it is judged that the plurality of logicalcommunication ports exists for the printer, such that a user cannotselect the network interface port from the list, or creating a list ofprinter ports without a selection of the local interface port if it isjudged that the plurality of logical communication ports does not existfor the printer.
 12. A setting apparatus according to claim 11, whereinthe processor acquires information of MAC addresses of the printers thatthe apparatus can communicate with through respective ports during thejudgment and when the same MAC address information is acquired in spiteof communication to different ports, the processor judges that theplurality of logical communication ports exists for the printer.
 13. Asetting apparatus comprising: a computer-readable memory configured tostore computer-executable process steps; and a processor configured toexecute the computer-executable process steps stored in the memory,wherein the process steps stored in the memory cause the processor tocreate a list of printer ports for display, and include computerexecutable process steps to: judge whether a plurality of logicalcommunication ports exists for a printer; display the list of printerports without executing a network interface port of the printer if it isjudged that the plurality of logical communication ports for the printerdoes not exist, or to display the list of printer ports by automaticallyselecting a local interface port of the printer such that a user can notselect the network interface port if it is judged that the plurality oflogical communication ports for the printer does not exist; and performsetting of network interface communication using a local interfaceconnection that is established via the local interface port of theprinter when the printer is selected from the list of the printer ports.14. A setting apparatus according to claim 13, wherein the processoracquires information of MAC addresses of the printers that the apparatuscan communicate with through respective ports during the judgment andwhen the same MAC address information is acquired in spite ofcommunication to different ports, the processor judges that theplurality of logical communication ports exists for the printer.
 15. Amethod performed by a processor of a setting apparatus to create a listof printer ports for display, comprising: judging whether a plurality oflogical communication ports exists for a printer; excluding a networkinterface port of the printer before displaying the list of printerports so as to select a local interface port of the printer if it isjudged that the plurality of logical communication ports exists for theprinter; and creating the list of printer ports with the selected localinterface port if it is judged that the plurality of logicalcommunication ports exists for the printer, such that a user cannotselect the network interface port from the list, or creating a list ofprinter ports without a selection of the local interface port if it isjudged that the plurality of logical communication ports does not existfor the printer.
 16. A method according to claim 15, wherein the judgingincludes: acquiring information of MAC addresses of the printers thatthe apparatus can communicate with through respective ports; and whenthe same MAC address information is acquired in spite of communicationto different ports, judging that the plurality of logical communicationports exists for the printer.
 17. A method performed by a processor of asetting apparatus to create a list of printer ports for display,comprising: judging whether a plurality of logical communication portsexists for a printer; displaying the list of printer ports withoutexecuting a network interface port of the printer if it is judged thatthe plurality of logical communication ports for the printer does notexist, or to display the list of printer ports by automaticallyselecting a local interface port of the printer such that a user can notselect the network interface port if it is judged that the plurality oflogical communication ports for the printer does not exist; andperforming setting of network interface communication using a localinterface connection that is established via the local interface port ofthe printer when the printer is selected from the list of the printerports.
 18. A method according to claim 17, wherein the judging includes:acquiring information of MAC addresses of the printers that theapparatus can communicate with through respective ports; and when thesame MAC address information is acquired in spite of communication todifferent ports, judging that the plurality of logical communicationports exists for the printer.
 19. A computer-readable storage mediumhaving stored thereon computer-executable process steps, wherein theprocess steps stored in the storage medium cause a processor to create alist of printer ports for display, and include computer-executableprocess steps to: judge whether a plurality of logical communicationports exists for a printer; exclude a network interface port of theprinter before displaying the list of printer ports so as to select alocal interface port of the printer if it is judged that the pluralityof logical communication ports exists for the printer; and create thelist of printer ports with the selected local interface port if it isjudged that the plurality of logical communication ports exists for theprinter, such that a user cannot select the network interface port fromthe list, or creating a list of printer ports without a selection of thelocal interface port if it is judged that the plurality of logicalcommunication ports does not exist for the printer.
 20. Acomputer-readable medium according to claim 19, wherein the processsteps further cause the processor to acquire information of MACaddresses of the printers that the processor can communicate withthrough respective ports during the judgment and when the same MACaddress information is acquired in spite of communication to differentports, judge that the plurality of logical communication ports existsfor the printer.
 21. A computer-readable storage medium having storedthereon computer-executable process steps, wherein the process stepsstored in the storage medium cause a processor to create a list ofprinter ports for display, and include computer-executable process stepsto: judge whether a plurality of logical communication ports exists fora printer; display the list of printer ports without executing a networkinterface port of the printer if it is judged that the plurality oflogical communication ports for the printer does not exist, or todisplay the list of printer ports by automatically selecting a localinterface port of the printer such that a user can not select thenetwork interface port if it is judged that the plurality of logicalcommunication ports for the printer does not exist; and perform settingof network interface communication using a local interface connectionthat is established via the local interface port of the printer when theprinter is selected from the list of the printer ports.
 22. Acomputer-readable medium according to claim 21, wherein the processsteps further cause the processor to acquire information of MACaddresses of the printers that the processor can communicate withthrough respective ports during the judgment and when the same MACaddress information is acquired in spite of communication to differentports, judge that the plurality of logical communication ports existsfor the printer.